#include <stdlib.h>
#include "playing_card.h"

using namespace std;
//дефиниране на enum (множество)

int main()
{
    int time_now = time(NULL);
    srand(time_now);
    playing_card firstCard;
    firstCard._suit = spade;
    firstCard._rank = ace;

    int SIZE = 20;
    playing_card cards[SIZE];
    for(int i = 0; i < SIZE; i++)
    {
        cards[i] = createCard_random();
    }

    for(int i = 0; i < SIZE; i++)
    {
        print_playing_card(cards[i]);
    }

    cout << endl << endl;

    cout << "All cards created: " << endl;
    show_all_cards(cards, SIZE);

    sort_cards_rankFirst_asc(cards, SIZE);
    cout << "All cards sorted by rank first in ascending order: " << endl;
    show_all_cards(cards, SIZE);

    sort_cards_rankFirst_desc(cards, SIZE);
    cout << "All cards sorted by ranks first in descending order: " << endl;
    show_all_cards(cards, SIZE);

    //Създаване на тесте подредено първо по цвят
    SIZE = 52;
    playing_card deck_1[SIZE];
    for(int i=0; i<SIZE; i++)
    {
        deck_1[i] = createCard(i%13, i/13);
    }
    cout << "Full deck sorted by suit first: " << endl;
    show_all_cards(deck_1, SIZE);

    //Създаване на тесте подредено първо по ранк
    playing_card deck_2[SIZE];
    for(int i=0; i<SIZE; i++)
    {
        deck_2[i] = createCard(i/4, i%4);
    }
    cout << "Full deck sorted by rank first: " << endl;
    show_all_cards(deck_2, SIZE);

    cout << "Full deck sorted by suit first, descending order: " << endl;
    sort_cards_rankFirst(deck_1,SIZE, descending);
    show_all_cards(deck_1, SIZE);

    cout << "Full deck sorted by rank first, descending order: " << endl;
    sort_cards_suitFirst(deck_2,SIZE, descending);
    show_all_cards(deck_2, SIZE);

    return 0;
}
